// 此文件禁止编译在生产环境
// //模板解析器
// export class JScan{
//   dataList=[]
//   Pointer = 0
//   templateData= []
//   constructor(str) {
//       this.template = str
//       this.templatePop = this.template
//       while (this.Pointer < this.template.length){
//         let val = this.scanner(this.templatePop)
//         if (val){
//           this.dataList.push(val[0])
//           this.templatePop = this.templatePop.slice(val.index+val[0].length)
//         }else {
//           this.Pointer = this.template.length
//         }
//       }
//     this.templateData = this.setCustomList(this.dataList)
//   }
//   //读取源代码
//   scanner(str){
//     //苹果不兼容?<=和?<！
//     return str.match(/(?<!<!--\s*)<el-table-column[^<]*?\/>(?!\s*-->)|(?<!<!--\s*)<el-table-column(.|\n)*?[^\/]>(?<!<!--\s*)(.|\n)*?<\/el-table-column>(?!\s*-->)/)
//   }
//
//   //解析模板
//   setCustomList(list){
//     let strTemplate =
// `      <el-table-column
//         v-if="item.visible"
//         v-for="(item, index) in header"
//           :key="item.prop"
//           :prop="item.prop"
//           :label="columnLabel(item)"
//           :width="item.width'px'"
//           >`+
//            "<template slot-scope='{row,$index}'>"+
//               "<span v-if='item.type == 1'>{{ row[`${item.prop}`] }}</span>"+
//               "<span v-else-if='item.type == 2' >{{ parseTime(row[\`${item.prop}\`])}}</span>"+
//               "<span v-else-if='item.type == 3' >"+
//                   "{{ getDict(\`this.dict.label.${item.dictionary}[${row[item.prop]}]\`) }}"+
//                 "</span><span v-else-if=\"item.type == 4\">"
//     const dataList = []
//     let endStr = ''
//     for (let i of list){
//       const data = {'dictionary':'',label:'id',prop:'id',showName:'id',sortable:false,'type':'1','visible':true,'width':100}
//       const prop = i.match(/(?<=prop=")[a-zA-Z0-9]+/)
//       if (prop){
//         data.prop = prop[0]
//       }else {
//         endStr += i
//         break
//       }
//       data.label = i.match(/(?<=label=")[^"]+/)[0]
//       data.showName = data.label
//       const width = i.match(/(?<=width=")[0-9]+/)
//       if (width){
//         data.width = width[0]
//       }
//       let velse=''
//       if(i.includes('slot-scope')){
//         data.type = '4'
//         const content = i.match(/<template(.|\n)*?<\/template>/)[0]
//         let str =content.replace(/scope\./gm,"")
//         str =str.replace(/<template.+>/,`<span v-${velse}if="item.prop == '${data.prop}'">`)
//         velse = 'else-'
//         str = str.replace(/<\/template>/,`<\/span>`)
//         strTemplate += str
//       }
//       dataList.push(data)
//     }
//
//     strTemplate +=
//       `</span>
//           </template>
//         </el-table-column>
//     `+endStr
//     return [dataList,strTemplate]
//   }
//
// }
//
